The Fireworks Integration API > A simple Fireworks integration example

 

A simple Fireworks integration example

The following command asks Fireworks to prompt the user for his or her name, and then returns the name to Dreamweaver.

<html>
<head>
<title>Prompt in Fireworks</title>
<meta http-equiv="Content-Type" content="text/html; ¬
charset=iso-8859-1">
<script>

function commandButtons(){
	return new Array("Prompt", "promptInFireworks()", "Cancel", ¬
	"readyToCancel()", "Close","window.close()");
}

var gCancelClicked = false;
var gProgressTrackerCookie = null;

function readyToCancel() {
	gCancelClicked = true;
}

function promptInFireworks() {
	var isFireworks3 = FWLaunch.validateFireworks(3.0);
	if (!isFireworks3) {
		alert("You must have Fireworks 3.0 or later to use this ¬
		command");
	return;
}

	// Tell Fireworks to execute the prompt() method.
	gProgressTrackerCookie = FWLaunch.execJsInFireworks¬
	("prompt('Please enter your name:')");

	// null means it wasn't launched, a number means an error code
	if (gProgressTrackerCookie == null || ¬
	typeof(gProgressTrackerCookie) == "number") {
		window.close();
		alert("an error occurred");
		gProgressTrackerCookie = null;
	} else {
		// bring Fireworks to the front
		FWLaunch.bringFWToFront();
		// start the checking to see if Fireworks is done yet
		checkOneMoreTime();
	}
}

function checkOneMoreTime() {
	// Call checkJsResponse() every 1/2 second to see if Fireworks 
	// is done yet
	window.setTimeout("checkJsResponse();", 500);
}

function checkJsResponse() {
	var response = null;

	// The user clicked the cancel button, close the window
	if (gCancelClicked) {
		window.close();
		alert("cancel clicked");
	} else {
		// We're still going, ask Fireworks how it's doing
		if (gProgressTrackerCookie != null)
			response = ¬
			FWLaunch.getJsResponse(gProgressTrackerCookie);

		if (response == null) {
			// still waiting for a response, call us again in 1/2 a 
			// second
			checkOneMoreTime();
		} else if (typeof(response) == "number") {
			// if the response was a number, it means an error 
			// occurred 
			// the user cancelled in Fireworks
			window.close();
			alert("an error occurred.");

		} else {
			// got a valid response!  This return value might not 
			// always be a useful one, since not all functions in 
			// Fireworks return a string, but we know this one does, 
			// so we can show the user what we got.
			window.close();
			FWLaunch.bringDWToFront();  
			// bring Dreamweaver to the front
			alert("Nice to meet you, " + response + "!");
		}
	}
}

</script>
</head>
<body>
<form>
<table width="313" nowrap>
<tr>
<td>This command asks Fireworks to execute the prompt() ¬
function. When you click Prompt, Fireworks comes forward and ¬
asks you to enter a value into a dialog box. That value is then ¬
returned to Dreamweaver and displayed in an alert.</td>
</tr>
</table>
</form>
</body>
</html>